In today's information age, data storage systems often manage filesystems that include huge amounts of storage space. It is common for filesystems to include many terabytes of storage space spread over multiple storage devices.
U.S. patent application Ser. Nos. 10/407,145 and 11/767,832, which were incorporated by reference above) relate to multi-tiered storage (MTS) systems that can include different types of storage devices such as solid state storage devices (SSDs) and various types of disk drives (e.g., FibreChannel and/or SATA disk drives). In such storage systems, different types of storage devices having different storage capabilities (e.g., different storage capacities, different storage/access speeds, different reliability/cost points, etc.) may be logically divided into multiple storage tiers, using different filesystems for different tiers and using cross-filesystem links to make the multiple filesystems appear as a single filesystem. Different files may be stored in different storage tiers based on various storage criteria (e.g., based on file type, file access frequency, etc.). An exemplary MTS system offered by BlueArc Corporation is described in Asaro, T., BlueArc Titan Intelligent Multi-Tiered Storage System, The Enterprise Strategy Group, Inc., May 2005, which is hereby incorporated herein by reference in its entirety.
SSDs (particularly flash-based SSDs) are becoming more common in the marketplace. SSDs generally offer much better performance than physical disks, especially for random I/O, because they have no disk heads to move across a platter. However, SSDs are typically much more expensive than traditional disks and therefore are often used for high-speed cache memory rather than for primary storage of the filesystem. Generally speaking, high-speed caches are used to service read requests but not write requests, which still need to be sent to the primary storage. Also, the cache must be populated before it provides any significant benefit, and benefits can be limited under certain operational conditions, such as random access patterns in which requested data is not in the cache.